package com.ruoyi.lvlian.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;

@ApiModel(value = "摄像头对象", description = "摄像头对象")
@Data
@ToString
public class Camera {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private String id;

    /**
     * 摄像头编号
     */
    @NotBlank(message = "摄像头编号不能为空")  // 自动校验非空且非纯空格
    @ApiModelProperty(value = "摄像头编号")
    private String code;

    /**
     * 设备名称
     */
    @NotNull(message = "设备名称不能为空")
    @ApiModelProperty(value = "设备名称")
    private String name;

    /**
     * 设备序列号
     */
    @ApiModelProperty(value = "设备序列号")
    private String sno;

    /**
     * 设备厂家
     */
    @ApiModelProperty(value = "设备厂家")
    private String manufacturer;

    /**
     * 用途
     */
    @ApiModelProperty(value = "用途")
    private String purpose;

    /**
     * 接入方式
     */
    @ApiModelProperty(value = "接入方式")
    private String accessMethod;

    /**
     * 设备类型
     */
    @ApiModelProperty(value = "设备类型")
    private String type;

    /**
     * AppKey
     */
    @ApiModelProperty(value = "AppKey")
    private String appkey;

    /**
     * Secret
     */
    @ApiModelProperty(value = "Secret")
    private String secretkey;

    /**
     * 通道数
     */
    @ApiModelProperty(value = "通道数")
    private String channelCnt;


    @ApiModelProperty(value = "文件夹名称")
    private String projectId;


    /**
     * 子设备数
     */
    @ApiModelProperty(value = "子设备数")
    private String subDeviceCnt;

    /**
     * 设备状态
     */
    @ApiModelProperty(value = "设备状态")
    private String status;

    /**
     * 绑定时间
     */
    @ApiModelProperty(value = "绑定时间")
    private String bindTime;

    /**
     * 关联磅台
     */
    @ApiModelProperty(value = "关联磅台id")
    private String weighbridgeId;

    @ApiModelProperty(value = "关联磅台名称")
    @NotBlank(message = "磅台名称不能为空")
    private String weighbridgeName;
    /**
     * 录入人
     */
    @ApiModelProperty(value = "录入人")
    private String createUser;

    /**
     * 录入日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "录入日期")
    private String createDate;

    @ApiModelProperty(value = "绑定")
    private boolean bind;

}
